Serialization হল এমন একটি প্রক্রিয়া যার মাধ্যমে যেকোনো অবজেক্ট বা ডেটা স্ট্রাকচারকে একটি নির্দিষ্ট ফরম্যাটে রূপান্তর করা হয়, যা সংরক্ষণ বা নেটওয়ার্কের মাধ্যমে পাঠানো সম্ভব হয়। JSON (JavaScript Object Notation) এবং XML (eXtensible Markup Language) হল দুটি জনপ্রিয় ফরম্যাট, যেগুলো সাধারণত ডেটা বিনিময় বা স্টোর করার জন্য ব্যবহৃত হয়। ASP.NET Web Forms অ্যাপ্লিকেশনগুলোতে, JSON এবং XML Serialization অত্যন্ত গুরুত্বপূর্ণ, কারণ এগুলো ডেটা বিনিময়ের জন্য ইন্টারফেসের মাধ্যমে বা API কলগুলোর মাধ্যমে ব্যবহৃত হয়।
JSON (JavaScript Object Notation) একটি হালকা, পাঠযোগ্য ডেটা বিনিময় ফরম্যাট যা সহজেই মানুষের পড়তে এবং মেশিনের জন্য পার্স করতে পারে। JSON সাধারণত ওয়েব অ্যাপ্লিকেশনে ব্যবহৃত হয় কারণ এটি কমপ্যাক্ট, সহজ এবং বিভিন্ন প্রোগ্রামিং ভাষার মধ্যে সহজে স্থানান্তর করা যায়।
ASP.NET Web Forms এ JSON Serialization করতে সাধারণত Newtonsoft.Json (বা Json.NET) প্যাকেজ ব্যবহার করা হয়। এটি একটি শক্তিশালী লাইব্রেরি যা JSON ডেটা পার্স এবং সিরিয়ালাইজ করার জন্য ব্যবহার করা হয়।
প্রথমে, Newtonsoft.Json ইনস্টল করা
NuGet Package Manager ব্যবহার করে Newtonsoft.Json ইনস্টল করতে হবে:
Install-Package Newtonsoft.Json
using Newtonsoft.Json;
using System;
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
public class Program
{
public static void Main()
{
Person person = new Person() { Name = "John", Age = 30 };
// Serialization (Object to JSON)
string jsonString = JsonConvert.SerializeObject(person);
Console.WriteLine(jsonString);
}
}
Output:
{"Name":"John","Age":30}
এখানে, JsonConvert.SerializeObject() পদ্ধতি ব্যবহার করে Person
অবজেক্টকে JSON স্ট্রিং এ রূপান্তর করা হয়েছে।
JSON ডেটাকে আবার অবজেক্টে রূপান্তর করতে, DeserializeObject
পদ্ধতি ব্যবহার করা হয়।
string jsonString = "{\"Name\":\"John\",\"Age\":30}";
// Deserialization (JSON to Object)
Person person = JsonConvert.DeserializeObject<Person>(jsonString);
Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");
Output:
Name: John, Age: 30
XML (eXtensible Markup Language) একটি মানব-পাঠযোগ্য এবং স্ট্যান্ডার্ড ফরম্যাট যা ডেটা স্টোরেজ এবং বিনিময়ের জন্য ব্যবহৃত হয়। XML Serialization এ অবজেক্টকে XML ডেটা ফরম্যাটে রূপান্তর করা হয়, যা বিশেষ করে ডেটাবেস বা অন্যান্য সিস্টেমে ডেটা স্টোর করার জন্য উপকারী।
XML Serialization করতে সাধারণত C# এর System.Xml.Serialization নেমস্পেস ব্যবহার করা হয়। এর মাধ্যমে আপনি অবজেক্টকে XML ফরম্যাটে রূপান্তর করতে পারবেন।
using System;
using System.IO;
using System.Xml.Serialization;
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
public class Program
{
public static void Main()
{
Person person = new Person() { Name = "John", Age = 30 };
// XML Serialization (Object to XML)
XmlSerializer serializer = new XmlSerializer(typeof(Person));
using (StringWriter writer = new StringWriter())
{
serializer.Serialize(writer, person);
Console.WriteLine(writer.ToString());
}
}
}
Output:
<?xml version="1.0" encoding="utf-16"?>
<Person xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Name>John</Name>
<Age>30</Age>
</Person>
এখানে, XmlSerializer.Serialize() পদ্ধতি ব্যবহার করে Person
অবজেক্টকে XML ফরম্যাটে রূপান্তর করা হয়েছে।
XML ডেটাকে অবজেক্টে রূপান্তর করতে, Deserialize পদ্ধতি ব্যবহার করা হয়।
string xmlString = @"<Person>
<Name>John</Name>
<Age>30</Age>
</Person>";
XmlSerializer serializer = new XmlSerializer(typeof(Person));
using (StringReader reader = new StringReader(xmlString))
{
Person person = (Person)serializer.Deserialize(reader);
Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");
}
Output:
Name: John, Age: 30
বৈশিষ্ট্য | JSON | XML |
---|---|---|
ফরম্যাট | সাধারণত হালকা এবং সহজ | ভারী এবং বেশি স্ট্রাকচারড |
পাঠযোগ্যতা | মানুষের পড়তে সহজ | মানুষের জন্য কিছুটা জটিল |
ব্যবহার | ওয়েব অ্যাপ্লিকেশন, API, মোবাইল অ্যাপ্লিকেশন | ডেটাবেস, ডাটা স্টোরেজ, Legacy সিস্টেম |
পার্সিং | দ্রুত এবং সহজ | কিছুটা ধীর এবং জটিল |
বিল্ট-ইন সাপোর্ট | অধিকাংশ ওয়েব প্রযুক্তি সাপোর্ট করে | অনেক সময় কাস্টম প্যার্সিং প্রয়োজন হয় |
JSON এবং XML Serialization হল ডেটা বিনিময়ের দুইটি গুরুত্বপূর্ণ ফরম্যাট, যা ওয়েব অ্যাপ্লিকেশন এবং API এর মধ্যে ডেটা ট্রান্সফারের জন্য ব্যবহৃত হয়। JSON সাধারণত দ্রুত, কমপ্যাক্ট এবং সহজে পঠনযোগ্য হওয়ায় ওয়েব অ্যাপ্লিকেশনে বেশি ব্যবহৃত হয়, whereas XML কিছুটা ভারী এবং বেশি স্ট্রাকচারড, কিন্তু ডেটা স্টোরেজ বা লেগেসি সিস্টেমে ব্যবহৃত হয়। ASP.NET Web Forms অ্যাপ্লিকেশনগুলোতে এই Serialization টুলস ব্যবহারের মাধ্যমে ডেটা সহজেই বিনিময় করা এবং ম্যানিপুলেট করা সম্ভব।
common.read_more